home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
CD ROM Paradise Collection 4
/
CD ROM Paradise Collection 4 1995 Nov.iso
/
program
/
swagg_m.zip
/
MOUSE.SWG
/
0021_Mouse Detection.pas
< prev
next >
Wrap
Pascal/Delphi Source File
|
1994-05-26
|
2KB
|
91 lines
{
(The Procedure Mouse_Check can be done shorter, but this one "remembers" a
mouseclick, so you can click the mouse, and at a later time call this
procedure and it will tell you the mouse-information!)
>----------------------------- }
PROGRAM Mouse_on_the_screen;
USES DOS,Graph;
TYPE
MouseType = RECORD
x, y, Button : Word;
RButton, LButton : Boolean;
END;
VAR
Reg : Registers;
Mouse : Mousetype;
PROCEDURE Show_Mouse;
BEGIN
Reg.AX := 1;
Intr($33,Reg);
END;
PROCEDURE Hide_Mouse;
BEGIN
Reg.AX := 2;
Intr($33,Reg);
END;
PROCEDURE SetMouseArea(XMin,YMin,XMax,YMax :Word);
BEGIN
Reg.AX := 7;
Reg.CX := XMin;
Reg.DX := XMax;
Intr($33,Reg);
Reg.AX := 8;
Reg.CX := YMin;
Reg.DX := YMax;
Intr($33,Reg);
END;
PROCEDURE Init_Mouse;
BEGIN
Reg.AX := 0;
Intr($33,Reg);
SetMouseArea(0,0,GetMaxX,GetMaxY);
Reg.AX := 4;
Reg.CX := 100;
Reg.DX := 100;
Intr($33,Reg);
END;
PROCEDURE Mouse_Check;
BEGIN
Reg.AX := 5;
Reg.BX := 1;
Intr($33,Reg);
Mouse.RButton := Reg.BX > 0;
Mouse.Button := Reg.AX;
IF Mouse.RButton THEN Mouse.Button := 2;
Mouse.X := Reg.CX;
Mouse.Y := Reg.DX;
IF NOT Mouse.RButton
THEN Begin
Reg.AX := 5;
Reg.BX := 0;
Intr($33,Reg);
Mouse.LButton := Reg.BX > 0;
Mouse.Button := Reg.AX;
IF Mouse.LButton THEN Mouse.Button := 1;
Mouse.X := Reg.CX;
Mouse.Y := Reg.DX;
End;
END;
BEGIN
{Init graphics screen here!}
Init_Mouse;
Show_Mouse;
. {You have to finish this part yourself}
. { ___ }
. { |-lorian}
Hide_Mouse;
{CloseGraph};
END.